package com.sudo.service.admin.service;

import com.sudo.common.utils.PagedGridResult;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;

/**
 * @author 为道日损 2020-06-22 10:00
 * webSite：https://www.sudo.ren
 */
public interface UserFileService {

    int addUserFile(String username, String oldFileName, String newFileName, String filePosPath);

    /**
     * 分页查找所有文件
     *
     * @param page      当前页
     * @param pageSize  每页数量
     * @param username  用户名
     * @param startDate 开始时间
     * @param endDate   结束时间
     * @return PagedGridResult
     */
    PagedGridResult getAllFilesByPage(Integer page, Integer pageSize,
                                      String username, String startDate, String endDate);

    String uploadUseLogo(MultipartFile file, HttpServletRequest request, String username);

    /**
     *更换用户头像
     * @param sessionUser 用户
     * @param logicalPosition 头像位置(逻辑地址)
     * @return 影响行数
     */
    int updateUserLogo(String sessionUser,String logicalPosition);

    /**
     * 根据用户名删除普通文件，只允许超级管理员操作
     * @param username 用户
     */
    void deleteFileByUsername(String username);


    int uploadCommonFile(MultipartFile file, String username);
}
